package cn.lijiajia3515.cairo.auth.modules.account;

import cn.lijiajia3515.cairo.core.page.AbstractPage;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;

import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)

@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder(toBuilder = true)

public class FindAccountParam extends AbstractPage<FindAccountParam> implements Serializable {

	/**
	 * 关键字
	 */
	private String keyword;

	/**
	 * 用户标识
	 */
	private Collection<String> uids;

	private Collection<String> sources;

	/**
	 * 角色编码
	 */
	private Collection<String> roleIds;

	/**
	 * 用户状态
	 */
	private Collection<Boolean> statuses;

	@Builder.Default
	private Map<String, String> extension = new HashMap<>();
}
